30日でできる!OS自作入門 0日目
Chapter 0 開発を始める前に
執筆モチベ
自作ゲームも自作PCも自作CPUも(CPUの創りかた)自作ホームページもあるけど自作OSの情報がないので書いた 読者のモチベ
OSはでかそうに見える
モナーに時代を感じるkadoyau.icon
OS作りたくなくても、読むとOSの仕組みがわかる
前提知識をは簡単なプログラムを書いたことがあるくらいでOK。C諦めた人でも大丈夫。
対象
IBM PC/AP互換機(Windows)で386以上のCPUを搭載したもの(32bit OSをつくるため)。Windows 95以降ならたいていOK
MacやPC-9821は非対応
よくわからない
共通点と言えそうなものがない
ハードウェアの制御とか色々定義できそうだけど小難しくなるからしていない?
本書で作るOS
マウスカーソルがあり、windowがあり、multi taskなもの
C言語な理由
言語の説明が長くなるから
OSの前提がC++などと比べて少ないから
OSを作るコツ
いきなりOSを作ろうと思わない
OSっぽく見えるデモをつくる
作り込んでいくとOSになる
やる気
勉強していると時間が過ぎ、考えの至らなさに打ちのめされる
既存技術の組み合わせ作業になってつまらない
一回作った後に勉強したら深く理解できる
流れ
作成に必要なツールは作者が配布している
c compiler
image fileの作成ツール
大変なこと
普通の人がアクセスできるCコンパイラはアプリケーション作成が前提なのでOSを作るには無理がある
pritf()はOS提供なので動かそうとすると一般保護例外が投げられる そこはアセンブラで書く
本書ではOSをイテレーティブに作っていく。付属のCD-ROMにソースがまとまっている
本で説明していない事も書いてあるのでコードを読むこと
主役はコード。本は付録
本書のコードをベースに自作OSを作成・配布・販売してもよい
概説
1週目
電源を入れたら自動で動くプログラムを作る
ディスクからOSを読む
マウスカーソルを動かす
割り込みルーチン
最初の難関
2週目
アルゴリズム
3週目
マルチタスク
コンソール
アプリ
4週目
サンプルアプリ
日本語対応